package com.diaohw.module.file.service;

import com.diaohw.module.file.obj.convert.AccountFileConvert;
import com.diaohw.module.file.obj.dto.AccountFileDTO;
import com.diaohw.module.file.obj.dto.FileTagDTO;
import com.diaohw.module.file.obj.query.AccountFileQuery;
import com.diaohw.module.file.obj.vo.AccountFileVO;
import com.diaohw.platform.common.obj.page.PageResultVo;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * <p>
 * 用户上传表 服务类
 * </p>
 *
 * @author D-Hw
 * @since 2024-11-05
 */
public interface AccountFileService  {

    AccountFileConvert INSTANCE = AccountFileConvert.INSTANCE;

    /**
     * 新增
     */
    AccountFileVO create(AccountFileDTO data, MultipartFile file);

    /**
     * 更新
     */
    AccountFileVO update(String id, AccountFileDTO data);

    /**
     * 删除
     */
    Boolean delete(String id);

    /**
     * 删除
     */
    Boolean delete(List<String> ids);

    /**
     * 依据ID查看信息
     */
    AccountFileVO detail(String id);

    /**
     * 查询列表
     */
    List<AccountFileVO> findByList(AccountFileQuery query);

    /**
     * 分页查看
     */
    PageResultVo<AccountFileVO> findByPage(AccountFileQuery query);

    /**
     * 标签分组
     */
    Boolean tag(FileTagDTO data);
}
